昨天我們學會了 Linux 的檔案與權限管理。今天,我們要將視野從「本機端」拓展到「網路端」。
無論你是網路工程師還是資安人員,當遇到「網站連不上」、「伺服器無回應」的狀況時,第一件事絕對不是盲目重開機,而是利用網路指令來進行「診斷」。
今天我們將實作三個最常用的網路狀態指令,確認我們的虛擬機是否已經成功連上外網,以及系統目前開啟了哪些網路通道。
ip a)在 Windows 中,我們通常會用 ipconfig 來查看 IP。而在現代的 Linux 系統中,標準的指令是 ip a (即 ip address 的縮寫)。
【實作練習】
在終端機輸入 ip a。

畫面解析:
lo (Loopback):這是本機的迴環位址 (127.0.0.1),主要用於主機內部的自我測試與通訊。enp0s3 (或類似名稱):這是 VirtualBox 配發給這台虛擬機的實體網卡代號。你在其下方的 inet 後面看到的那串數字(例如圖中的 10.0.2.15),就是這台虛擬機目前的 IP 位址!ping)ping 是網路工程師最常用的指令,它透過發送 ICMP Echo Request 封包給目標主機,並等待對方回應,藉此判斷「網路有沒有通」以及「連線延遲有多高」。
⚠️ Linux 新手陷阱:
在 Windows 中打 ping,系統預設只會送出 4 個封包就停止。但在 Linux 中,如果你只打 ping google.com,系統會無止盡地一直發送,直到你按下 Ctrl + C 強制中斷為止。
【實作練習】
為了方便測試,我們加上 -c 4 (count) 參數,指定只發送 4 個封包。請依序輸入:
ping -c 4 8.8.8.8 (測試與 Google Public DNS 的外部連線是否正常)ping -c 4 google.com (測試本機的 DNS 域名解析功能是否正常)
如果最後一行顯示 0% packet loss,恭喜你,你的虛擬機已經完美連上網際網路了!
ss / netstat)本篇標題提到的 netstat 是資安人員檢查木馬後門、或是網管人員檢查伺服器 Port (連接埠) 的經典神器。不過在較新的 Ubuntu 發行版中,官方預設使用了更快速的替代工具:ss (Socket Statistics)。
【實作練習】
我們來查看目前這台 Ubuntu 系統,在背景開啟了哪些「聆聽中」的網路通道。請輸入:
ss -tuln
參數拆解:
-t:顯示 TCP 連線。-u:顯示 UDP 連線。-l:只顯示正在聆聽 (Listening) 的服務。-n:不解析主機名稱,直接顯示數字 IP 與 Port,這樣速度更快。
畫面解析:
從截圖中可以看到,系統有幾個服務正處於 LISTEN 或 UNCONN 狀態(如 127.0.0.53:53)。這代表你的系統正開啟著 53 號 Port 提供本機的 DNS 解析服務。未來當我們架設了 Web 伺服器,你就會在這裡看到熟悉的 80 (HTTP) 或 443 (HTTPS) 囉!
今天我們掌握了 Linux 網路檢測的「三板斧」:用 ip a 確認自己是誰,用 ping 確認別人通不通,用 ss 確認自己開了哪些門 (Port)。
有了這些基礎,未來當我們導入 Wireshark 抓取封包時,你就能清楚辨識出這些 IP 和 Port 的來源與去向。
我們今天發現內建找不到 netstat 指令,如果我們非要用它怎麼辦?明天 [Day 5],我們將學習 Linux 的套件管理系統 (APT),教你如何像在手機商店下載 App 一樣,從命令列安裝各式各樣強大的網路檢測與資安工具!我們明天見。